using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Pasta.Medio
{
	public class Constants
	{
		public const string Company = "SharpGenes";
		public const string Product = "Medio";

		public const string ImageFolder = "ImageFolder";
		public const string VideoFolder = "VideoFolder";
		public const string ImageTypes = "ImageTypes";
		public const string VideoTypes = "VideoTypes";
		public const string RenamePattern = "RenamePattern";
		public const string DuplicatePattern = "DuplicatePattern";

		public static char[] TypeSeparators = new char[] { ';' };
	}

	public class Defaults
	{
		public static string ImageFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
		public static string VideoFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyVideos);
		public const string PhotoTypes = "jpg;gif;png;";
		public const string VideoTypes = "mts;m4v;mp4;avi;mov;mpg";
		public const string RenamePattern = "yyyy.MM.dd-HH.mm.ss";
		public const string DuplicatePattern = ".{0:00}";

		private static string AppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
		public static string DbPath = Path.Combine(AppData, String.Format(@"{0}\{1}\{1}.sdf", Constants.Company, Constants.Product));
	}

	partial class Enums
	{
		public enum Type
		{
			Image = 1,
			Video = 2
		}

		[Flags]
		public enum SettingOptions
		{
			Normal = 0,
			CheckFolder = 1,
			CreateFolder = 2
		}

		public enum WorkerTask
		{
			List,
			Analyse
		}

		public enum WorkerState
		{
			Waiting,
			Scanning,
			Analyzing,
			Complete,
			Cancelled,
			Error
		}
	}
}
